package com.tbit.uqbike.service.business;

import com.tbit.uqbike.object.pojo.dto.ClubRecordDTO;
import com.tbit.uqbike.object.pojo.dto.GiveClubCardDTO;
import com.tbit.uqbike.object.pojo.dto.ImportUserDTO;
import com.tbit.uqbike.object.pojo.vo.BatchOperationMsgVO;
import com.tbit.uqbike.object.pojo.vo.GiveRideCardVo;
import com.tbit.uqbike.object.pojo.vo.VipGiveLog;
import com.tbit.uqbike.object.value.LoginInfo;
import com.tbit.common.entity.view.PageResult;
import com.tbit.common.entity.view.Result;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @Author lhx
 * @ClassName BatchGiveClubCardService
 * @Description
 * @date 2023/3/21 11:36
 * @Version 1.0
 */
public interface BatchGiveClubCardService {

    /**
     * 批量赠送会员卡
     *
     * @param giveClubCardDTO
     * @return
     */
    Result<List<GiveRideCardVo>> giveClubCard(GiveClubCardDTO giveClubCardDTO, LoginInfo login, MultipartFile file);

    /**
     * 分页查询会员卡赠送记录
     *
     * @param clubRecordDTO
     * @return
     */
    PageResult<VipGiveLog> queryPageClubRecord(ClubRecordDTO clubRecordDTO);

    /**
     * 批量添加用户
     *
     * @param importUserDTO
     * @return
     */
    Result<BatchOperationMsgVO<String>> importUser(ImportUserDTO importUserDTO);

    /**
     * 导出会员卡赠送记录
     *
     * @param clubRecordDTO
     * @return
     */
    Result exportClubCardRecord(ClubRecordDTO clubRecordDTO);
}
